+ • New release check Procedure



The process of working through this checklist helps uncover any remaining concerns before the release, and reminds internal stakeholders of their upcoming responsibilities. Once this checklist has been satisfied, this release may be sent to manufacturing and sold to customers with the full support of the organization. Use official Procedure Price Lookup tool to compare national average to Medicare costs in ambulatory surgical centers, hosptial outpatient departments.

Other languages

English ; Español ; eesti keeles ; français ; Português do Brasil ; 简体中文 ;


  • 4Major new features
    • 4.1Installation
    • 4.2Package management
    • 4.4Base system
    • 4.5Packaging
    • 4.6Graphical environments
  • 5Upgrading from Mageia 2
    • 5.1Upgrading via the Internet
  • 6Known issues

Mageia has two distinct installation media types:

  • DVD ISO and Dual-arch CD ISO, which use the drakx traditional installer and
  • Live DVD/CD ISO, a live ISO which can be used to preview the distribution and also later be used to install Mageia on your hard drive.

For more information have a look at the installation media page.

You will always find the download info on the Mageia download page; direct (ftp and http) and BitTorrent downloads are available.

The Mageia software sits in three different repositories/media, depending on the type of license applied to each package. Here's an overview of those repositories:

  • Core: The Core repository includes packages with free-open-source software, i.e. packages licensed under a free-open-source license, the set of the 'Core' media along with 'Core Release' and 'Core Updates' are available by default.
  • Nonfree: The Nonfree repository includes packages that are free-of-charge, i.e. Mageia may redistribute them, but they contain closed-source software (hence the name - Nonfree). For example this repository includes nVidia and ATI graphics card proprietary drivers, firmware for various WiFi cards, etc.
    The Nonfree media set is added by default but not enabled by default.
  • Tainted: The Tainted repository includes packages released under a free license. The main criteria for placing packages in this repository is that they may infringe on patents and copyright laws in some countries, e.g. multimedia codecs needed to play various audio/video files; packages needed to play commercial video DVD, etc.
    The Tainted media set is added by default but not enabled by default, i.e. it's completely opt-in; so check your local laws before using packages from this repository.
    This repository is only added for the convenience of the users. This repository is to Mageia what PLF is to Mandriva users or RPM Fusion is to Fedora users.

Installation

Stage 1

  • The first stage of the installer automatically passes the correct URL to stage2 if it was provided.
eg http://foobar.com/mirrors/mageia/3/ instead of http://foobar.com/mirrors/mageia/3/x86_64
  • The installer can now create and install to a btrfs file system, however to boot correctly a separate ~200MB ext2 partition with the mount point /boot must be created during the partitioning step.
  • It now uses kmod for loading modules
  • A bug was fixed in kmod which would cause the installer to load an incorrect driver for some hardware due to kmod not enforcing module ordering (mga#5833).

List of all change since Mga2

Stage 2

  • Hardware support
    • Tokenring is no longer supported.
    • support was added for a ton of recent hardware
  • media
    • It is now possible to enable nonfree and tainted media during install. Proprietary drivers and/or non-free firmware can now be installed during installation. The user is asked whether to keep non-free packages during installation via a simple checkbox. Moving the mouse above the media shows a description of what each contains.
    • nonfree media is pre-selected if we detect hardware that will not work without non-free firmware
    • when adding update media at the end of install, all media are now installed as updates that might require packages from the full sources (DVD is only a subset)
  • The installer can now write a debug file to a USB key formatted as NTFS instead of FAT (mga#5685).
  • The installer has been updated to include the latest kernel/rpm/perl/pango/x11-server.
  • Storage
    • whereas drakx integrates well in most virtualized OSes, it finally supports installing on XEN paravirtualized disks.
    • Resizing NTFS works again (it was broken by the switch from ntfsprogs to ntfs-3g)
    • The 'acl' option is only allowed for extX & reiserfs
    • The minimum size for auto spliting the /home file system is now 12Gb instead of 8 in case of simple partitioning, or 10Gb instead of 7 to 10Gb if /usr is split off (e.g.: servers)
    • It is now possible to choose btrfs in normal mode
  • GUI:
    • the GUI has been refreshed and now uses the Oxygen theme
    • the help has been vastly improved
    • text size of the help and of the updates installation is the same as the installer one
  • support for xguest was disabled
  • package groups
    • An 'unselect all' button has been added when one chooses to pick package groups, allowing a faster minimal installation.
  • Grub2 can now be installed at the summary step, it can also be installed in a partition. However, please see the errata for information on how to multi-boot into the system. Integration in drakboot is only partial, if you feel that you need to customize the menu then please read /usr/share/doc/grub2/README.Mageia for the native grub2 techniques, or you could maybe try grub-customizer.
  • various improvements:
    • auto install: xdm install is now non-interactive
    • fixed installing of minimum system prior to the set up network media
    • installation errors are displayed only once at the end instead of stopping the install for each error with a popup.
  • ...

List of all changes since Mageia 2.

Debugging

It is now possible to rebuild stage 1 and stage 2 packages with a debug option in order to have better environments for debugging the installer.

Rescue

  • Rescue mode will select the most recent version of Mageia when several Mageia instances have been installed. It now also offers to pick the one to rescue.
  • It will refuse to repair an incompatible installation (eg: 64 bit OS with a 32 bit rescue).
  • It detects software RAID setups better.
  • It is able to rescue systems with SMB mount points.
  • It includes a script to simplify the grabbing of journal logs for bug reports.
  • It drops unmaintained support for KA (clustering)

Package management

RPM has been upgraded to 4.11.

Urpmi has been refactored and cleaned.Various bugs have been fixed:

  • urpmi used to download noarch packages twice when using the --download-all option on 64-bit machines because they are in both 32 and 64-bit repositories (mga#4867)
  • urpmi no longer silently fails with exit status 0 when:
    • package installation fails due to any conflicts
    • unselecting package
    • failing to install some (but not all) packages
  • urpmi now looks again for missing requires of updates in the regular media instead of only looking in update media (mga#2317)
  • urpmf and urpmq now work as user with the --use-distrib option (mga#1225)
  • urpme will no longer offer to remove DKMS modules for the current kernel (mga#5092)
  • gurpmi:
    • gurpmi will upgrade glib, gtk & perl-{Glib,Gtk2} bindings as priority upgrades prior to a restart (mga#5066)
    • gurpmi now wraps some huge debug messages and uses a scrollbar in such cases (mga#5118)

+ • New Release Check Procedure Form

Various enhancements have been made:

  • urpmi now has basic support for --downgrade.
  • urpmi now has basic support for delta packages.
  • urpmi.addmedia now enables nonfree/tainted media if such packages were previously installed
  • (g)urpmi reports removed packages (e.g.: older versions when upgrading) (previously it seemed to be stalled)
  • urpmi now detects I/O, unpacking and scriptlet errors
  • urpmq without parameter does not search any more with fuzzy matching, you have to add explicitly the argument -y.
  • gurpmi:
    • improved layout
    • better information about disk usage
    • errors summary is displayed at the end instead of showing a popup for each one
    • errors don't popup in automatic mode

List of all the change since Mageia 2.

API change

The --repackage option has been removed (it had not worked since rpm-4.6 was introduced in 2009).Repository metadata can now be compressed with xz instead of gzip.

Security

Urpmi will now warn:

  • when a medium has no signing key;
  • about unsigned packages from media without signing keys;
  • when signature checking is disabled per medium.

The 'download-all' option is supported in urpmi.cfg as opposed to being available only from the command line.

Graphical package manager

Rpmdrake was not properly highlighting the latest changes in package changelogs when they used Epoch.

Updates were sometimes wrongly deselected when clicking on 'New dependencies'.

The --merge-all-rpmnew option is slightly faster. It now also considers all config files, including those outside of /etc.

Rpmdrake now displays a global progress bar when updating, installing or removing packages instead of one progress bar per RPM transaction.

List of all the change since Mageia 2.

Tools

Quite a lot of bugs were squashed.Some notable features:

  • Installing kernels had been made safer.
  • Harddrake will install ethernet/wireless packages when a new device is detected, which helps quite a lot for Broadcom devices.
  • Mcc now finds NFS servers where it failed to do before in some environments.
  • Bubble notifications were disabled in net_applet because of a segfault in GNOME's libnotify (mga#9102).
  • Autologin is now supported with lxdm and slim too (#3715)

Base system

kernel

  • Mageia 3 ships with kernel 3.8.13

systemd

  • Mageia 3 comes with systemd 195

GRUB

  • Mageia 3 still comes with GRUB as default, however you can install GRUB2. integration is now available in installer and some drakxtools.

File systems

  • OverlayFS is now available and used to build live CDs

Perl

  • Perl has been upgraded to 5.16.3 and all perl packages have been rebuilt and/or updated

Ruby

  • Ruby has been upgraded to 1.9.3, and most of the packages have been rebuilt.

journalctl

  • Journalctl is now used as default. You can still install rsyslog if you want logs on tty12 or syslog/user/access/messages logs. draklog has not been modified to deal with journalctl so you will need to have rsyslog installed to use it.
  • To be completed

Others

/usr move

  • /usr move: main goal is to provide an easy way to mount most of the installed operating system files read-only during normal usage.

Also make it easier to take snapshots (when combined with btrfs or lvm) or share it over the network.

Grub2

  • Grub2 is now available for the first time in Mageia and may be selected during installation or later using: Mageia Control Center -> Boot. To test grub2 while still using grub legacy please see /usr/share/doc/grub2/README.Mageia

Note:If grub2 is installed 'to a partition' during installation please read the Mageia-3 errata for more help.

Packaging

Package compression

Packages are now compressed as xz instead of lzma

Easier debugging

By default, minimal debuginfo is installed in order to increase the quality of bug reports and allow easier support for profiling and userspace tracing. Developers will receive better bug reports by default, without users having to enable debug media and install big debug packages.

It will also make system-wide profiling, userspace dynamic probes and casual debugging easier.

RPM groups

The Mageia package groups have been reorganized to improve clarity and for easier browsing in rpmdrake and during installation.

Mass rebuild

Mass rebuild has been completed. The 10,500 source packages were rebuilt in three days on four nodes. Thanks to our packagers, we are close to having 100% rebuild success.


This will improve the quality of Mageia 3 and also post-product support (bug or security updates), won't need to spend time fixing stuff that should already work.

Graphical environments

KDE

KDE 4.10.2.

  • Upstream configuration
Starting with KDE SC 4.7 we are providing an additional package name, vanilla, in order for an end user to simply use an upstream configuration for desktop and applications. You simply need to install the vanilla-kde4-config package via rpmdrake or via urpmi like this:

urpmi vanilla-kde4-config

GNOME

GNOME environment is also provided. Currently 3.6.

LXDE

LXDE version 0.5.5 is available. LXDE is a desktop environment intended to be lightweight, fast, and energy-efficient.

XFCE

Xfce 4.10 with various (bug) fixes mainly from upstream.

Available at install behind the 'other desktop' checkbox of the classical iso.

Enlightenment

The e17 release of the Enlightenment desktop environment is available in the Core repositories.

RazorQt

Beta 3 comes with RazorQt v. 0.5.2: 'Razor-qt is an advanced, easy-to-use, and fast desktop environment based on Qt technologies. It has been tailored for users who value simplicity, speed, and an intuitive interface. Unlike most desktop environments, Razor-qt also works fine with weak machines'.

Qt

  • Qt 4.8.4
  • Qt 5
  • QtCreator 2.6.1

Office apps

Check

Games

Steam for linux is now available in the repositories.

Education

Computer Assisted Music

+ • New Release Check Procedure Sample

Audio and MIDI Connection Kit

  • JACK JACK 1.9.8 (jackit) and qjackctl its GUI (version 1.9.9 may be provided as update)
  • lv2 lv2 (version 1.2.0) a plugin standard for audio system (the 1.4.0 version may be provided as update)

Multitrack audio recorder

  • Ardour Ardour3 final release is now available (besides Ardour2) with lv2 interface

+ • New Release Check Procedure Status

Instruments

  • aeolus aeolus a church organ emulator
  • Bristol Bristol (a vintage synthesizers emulator) is available with Menu items for each synthesizer
  • Linuxsampler Linuxsampler 1.0 and Qsampler and gigedit (a sample editor) are available
  • Yoshimi a software synthesizer version 0.0.60 (version 1.0 may be provided as update)

Sequencers

  • Rosegarden Rosegarden 12.04 (just released 13.04 version may be proposed as update)
  • Qtractor Qtractor 0.5.6 (just released version 0.5.8 may be proposed as update)

Score editors

  • Lilypond Lilypond 2.16 (last stable edition)
  • Musescore Musescore version 1.2 A GUI for Lilypond (just published version 1.3 may be provided as update)
  • Rosegarden Rosegarden is a score editor too !
  • denemo denemo 0.9.6 (just released 1.0.0 version may be provided as update)

Software Development

  • OCaml is now in version 4.00.1, with more than 150 libraries
  • Harbour Version 3.0 with QtContribs and pre-built HbIDE.
  • GnuRadio Version 3.6.4.1

Please read also the known issues.

Upgrading from Mageia 2 is supported, and has been fine-tuned over the past few months, so it should work. But as always, it is very advisable to back up any important data before upgrading and make sure you have made all updates of Mageia 2 (such as rpm and urpmi). Upgrading from Mageia 1 or another distribution is not supported.

There are several ways to upgrade from one of the previous Mageia releases:

Warning: Upgrading an existing install using a LiveCD is NOT supported due to the livecd image being copied 'as is' to the target system.

Upgrading via the Internet

The Mageia update notification applet, Mageia Online, will notify you that a new Mageia release is available, and ask if you wish to upgrade. If you agree, the upgrade will be carried out from within your Mageia installation without any further steps being necessary.

If you have disabled the applet or it is not automatically running for some reason, you can upgrade manually either using the GUI (mgaonline) or the CLI (urpmi). Both methods are outlined below.

First make sure you have the latest updates for your currently running release prior to upgrading. Because of the complications of the usrmove, a newer version of mgaonline is required to recognize the new version and step you through the upgrade process. You must therefore update mgaonline first. The new mgaonline package will itself install the mageia-prepare-upgrade package.

Upgrading online, using mgaonline (GUI)

As noted above you must have the updated mgaonline installed.

The new mgaonline should inform you that a new release is available and will automatically tell you that preparation is required before continuing. It will then:

  • Install the package mageia-prepare-upgrade
  • Instruct you to reboot and select the 'Mageia 3 Upgrade Preparation' entry in your bootloader (todo: should we use rebootin here?)


If you do not see that mgaonline notifies you that there is a new release, check your options with mgaapplet-config

Or

su
mgaapplet-upgrade-helper --new_distro_version=3

It will notify you of the availability of the new Mageia 3 distribution, configure Mageia media sources and start migration. Again, please ensure you have the updated mgaonline installed before undertaking this stage.

Upgrading online, using urpmi (CLI)

  • Before making any changes to your configuration, ensure you have all packages up-to-date and then install the mageia-prepare-upgrade package.
  • Once installed, reboot your computer and select the 'Mageia 3 Upgrade Preparation' boot option.
  • After rebooting and confirming that the usrmove has completed successfully (check via ls -l / that /bin and /lib etcetera are symlinks to /usr/bin and /usr/lib) you can continue.
  • Remove all of the existing media sources on your system by executing this command as root in terminal:
su
urpmi.removemedia -a
  • Add the Mageia online sources, either:
    • Using the MIRRORLIST method (which will select a mirror automatically based on your geographical location):
su
urpmi.addmedia --distrib --mirrorlist http://mirrors.mageia.org/api/mageia.3.$ARCH.list
(Where $ARCH is either i586 or x86_64)
    • Using a specific media mirror:
su
urpmi.addmedia --distrib <mirror_url>
You can get the mirror_url using the Mageia mirrors web application
  • Finally start upgrading:
su
urpmi --replacefiles --auto-update --auto
  • It's best to run the above command twice as in the first run some packages may be downloaded but not installed.

Using the Mageia 3 DVD to Upgrade

You can use the Mageia 3 DVD to do clean installs but also to upgrade from previous releases.

To upgrade:

  • Download the ISO from the Mageia download page and burn it on a DVD, or dump it on a USB stick, for more details have a look at this Available installation media article
  • Boot the DVD and select 'Install Mageia 3' from the GRUB (the bootloader) menu
  • Select the upgrade option.

It is recommended that the online repositories be set up during the upgrade as the DVD only includes a subset of the complete set of Mageia online repositories.

Moreover, it is possible that Mageia 2 may have received an update to a later version of software than that available on the ISO. When this happens, the upgrade may fail to complete. Since, at the time the ISO's are tested it is impossible to anticipate which Mageia 2 packages may be updated in the future, offline upgrades (i.e. upgrades attempted without setting up the online repositories) are not supported.

On the first reboot use the command 'urpmi --auto-update' to make sure all packages were updated.

See Errata page

Bug reporting

You can find our bugzilla here, but please read the Errata before reporting any bugs. If you don't already have a Mageia account, you can create one at https://identity.mageia.org/. If you don't know how the procedure works, please read how to report a bug first.

Retrieved from 'https://wiki.mageia.org/mw-en/index.php?title=Archive:_Mageia_3_Release_Notes&oldid=48835'

One step in the development process for all software is the release. Some projects continually release, while others demarcate certain states of the codebase in a more formal, numbered way. Scientists leading the development of research software may be interested in how I manage my own software releases and encapsulate some reproducibility best practices along the way. A quick Google search turns up a plethora of 'software release checklists.' This blog post summarizes mine.

One of my projects, PyRK, a python tool for reactor kinetics, recently had a release. To be as transparent, robust, and citable as possible, the PyRK project employs a release procedure that relies on version control (Git), a ticketing system (GitHub), automated documentation (Sphinx), a website (Read the Docs), a test framework (nose), continuous integration (Travis CI), and an archival system that generates digital object identifiers (DOIs) (figshare). At the heart of all of this is a software-development process inspired by GitFlow, which incorporates testing and code review. I won’t cover that workflow in this blog post; I’ll instead focus on the process in the image, a typical scientific software-release procedure. While the particular software stack I use in this example is tailored to python projects, the concepts are common across programming languages.

Maintaining clear documentation and a transparent development process, especially in the context of a release, allows other scientists to discover and use our scientific software. PyRK is a python project, so we use Sphinx and its api-doc utility to automatically document the classes and functions that make up the source code. This requires that we add well-formatted docstrings to our classes and functions. Sphinx does the rest. That generated documentation is then hosted within a website built with Read the Docs. To help us in the development process, we collect all proposed changes to the codebase in “issues” and tag those issues into “milestones” using GitHub. When all “issues” in the “release v0.2” milestone are complete, we’re then ready to release the new version of the code. The closed issues in the milestone captures the changes represented by the release, so users can review the changes represented by the release.

Much of the work of code robustness happens during the development process but aids in the release process. That is, during development, we constantly add unit tests to ensure that code changes achieve the behaviors we expect. Those unit tests are run in the nose testing framework and tested across supported platforms using Travis CI. As part of the release procedure, it is important to double check that the test coverage is sufficient and tests are passing.

Scientific software often contains scientific models and algorithms, the use of which should be cited by users when they contribute to scientific work. Citing code has historically been tricky, but some services now allow code to receive a DOI, which is archived and can be cited like a journal article is cited. figshare allows me to create a citeable DOI from the release tag on GitHub. I also include this information in a citation file in the software repository and on the software website.

My checklist, summarized in the image, goes like this:

  • Address open issues associated with the release milestone (use a ticketing system like GitHub's)
  • Confirm the closed issues in the milestone capture the changes represented by the release
  • Confirm all tests pass (with a test framework like nose)
  • Confirm builds and tests pass on all supported platforms (use continuous integration like travis)
  • Update documentation (automated with a tool like Sphinx)
  • Update other website information, like new authors, release notes, etc. (Read the Docs)
  • Tag the revision of the code with a release tag (Git/GitHub).
  • Upload it to an archive that generates DOIs (figshare)
  • Update the citation file to include the release citation from figshare (CITATION.md)
  • Celebrate.

A subtle issue not covered in the above list is that of “release candidates.” In projects with more than a few users, each release turns up a small flurry of bugs encountered by the “tire kicking” of its users. To quickly fix those bugs and include them in the release, many teams put out a test release, wait for the bug reports, fix those bugs, and then proceed with the real release. The process for iteration on releases and release candidates isn’t as necessary for small projects, but is something to be aware of as your project grows.

So, in conclusion:

  • For transparency, we use a version-control tool, a ticketing system, an automated documentation tool, and a website.
  • For robustness, we employ unit tests, continuous integration, and code review in a controlled way.
  • For citability: we have a citation file and use a service like figshare to acquire a DOI.